Personal computer users have discovered the Internet (a global network of computers) to be an effective vehicle for data and audio communication with remote sites. Because the Internet provides worldwide communication at a cost much lower than standard telephone rates, there is an increasing demand for expanding the capabilities of personal computers to enable real-time voice communication via the Internet. However, there are several limitations to existing technology that inhibit this goal.
Existing telephone lines, which were originally developed for analog voice communication, provide a narrow bandwidth communication link, typically in the range of 200 Hz to 3400 Hz. Because the transmission time for one bit of data is inversely proportional to the frequency, the rate of data transmission is restricted by the bandwidth limitation of telephone lines.
Another obstacle to the transmission of audio data in particular is the large amounts of computer memory and processing time needed to digitize audio data for use in the digital environment of the personal computer. As is known in the art, in order to transmit digitized audio data for real-time use, a data rate in the range of 20-22 kilobytes per second is typically necessary. However, use of a modem is required for modulating and demodulating digital signals for transmission over telephone lines. Most currently available modems can reliably handle only 1.8 kilobytes (14.4 kilobits) to 3.6 kilobytes (28.8 kilobits) per second.
In an effort to increase the rate of data transmission, encoding has been used to allow more than one bit to be represented by a single pulse shape or signal level. This has expanded to the development of integrated services digital network (ISDN) technology, an all-digital communications network. In the ISDN network, all voice, data, and other information, including still and moving images, is digitized and transmitted at high speed over a single, public switched network. The most common transmission method is to translate the binary digits into pulses, which are then transmitted across the network at up to 64 kbits/second. These digital pulses are less susceptible to noise than are corresponding analog signals.
In order to accommodate the narrow bandwidth of existing telephone lines and the low data transmission rate of modems used by the majority of personal computers, digitized data must be compressed prior to transmission and decompressed after reception. The disadvantage of existing compression programs is their high computational overhead, i.e., the substantial processing required to execute several million instructions per second (MIPS) and the large amount of memory needed to store the data.
Audio compression algorithms that may be used in accordance with the teachings of the present invention will be known to those skilled in the art. One technique is the autocorrelation method, of which one variation is described by Jean Larouche in "AutoCorrelation Method for High-Quality Time/Pitch Scaling," published in 1994 by Telecom Paris, Department Signal, Paris, France. Another technique is the absolute value difference algorithm, which adds the absolute values of the difference between successive signal segments and finds the lowest difference. Also well known is the EIA/TIA IS-54 standard, which discloses an algorithm description that one or ordinary skill in the art could implement as a compression algorithm for use with the present invention. A further method is the well-known GSM coding algorithm publicly available through the European Standards Committee. There is also the G723 and G728 algorithms. All of the aforementioned public documents, codes and algorithms are incorporated herein by reference.
While the compression ratios and data rates achieved by means of the compression techniques described above could be used for audio transmission via the Internet, the cost, complexity and low signal quality is unacceptable for real-time audio communication. Hence, there is a need for a data compression method that has low computational overhead, a high compression ratio, and utilizes existing personal computer hardware and compression algorithms to achieve high-quality compression and decompression of real-time audio signals.